package com.yidu.action;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.yidu.comment.Page;
import com.yidu.model.SnComType;
import com.yidu.model.SnFirm;
import com.yidu.service.SnFirmService;

/**
   * 供应商action
 * @author ChenYingZhu
 * @date 2018年11月30日 下午10:24:48
 */
@Controller
@RequestMapping("/firm")
public class SnFirmAction {
	/**
	   * 注入供应商service
	 */
	@Resource
	SnFirmService firmService;
	
	/**
	   * 查询所有
	 * @param snFirm
	 * @param page
	 * @param limit
	 * @return 供应商model集合
	 */
	@RequestMapping("query")
	@ResponseBody
	public Map<String , Object> query(SnFirm snFirm  ,String  page, String  limit){
		System.err.println(snFirm.getFirmName());
		//得到分页工具类
		Page  pages =new  Page();
		pages.setCurPage(Integer.valueOf(page));
		pages.setRows(Integer.valueOf(limit));
		//创建map对象
		Map<String, Object> maps = new HashMap<>();
		maps.put("page", pages);
		maps.put("snFirm", snFirm);
		//调用条件查询的方法
		List<SnFirm> list = firmService.query(maps);
		//调用查询行数的方法
		int  rows  = firmService.selectcount(maps);
		//创建一个map
		Map<String, Object> map = new HashMap<>();
		map.put("code", 0);
		map.put("msg", 0);
		map.put("count",rows);
		//将list放入map中
		map.put("data", list);
		//调用查询所有的方法
		return  map;
	}
	/**
	   * 根据ID查询
	 * @param firmId
	 * @return
	 */
	@RequestMapping("findById")
	@ResponseBody
	public SnFirm findById(String firmId) {
		return firmService.selectByPrimaryKey(firmId);
	}
	/**
	   * 增加或修改
	 * @param snFirm
	 * @return
	 */
	@RequestMapping("addOrUpdate")
	@ResponseBody
	public int addOrUpdate (SnFirm snFirm) {
		return firmService.addOrUpdate(snFirm);
	}
	/**
	   * 删除修改为不可用
	 * @param firmId
	 * @return row
	 */
	@RequestMapping("delete")
	@ResponseBody
	public int delect (String firmId) {
		//调用根据id查询的方法
		SnFirm snFirm = firmService.selectByPrimaryKey(firmId);
		//修改数据为不可用
		snFirm.setIsva(0);
		//调用修改的方法
		int row = firmService.updateByPrimaryKeySelective(snFirm);
		//返回行数
		return row;
	}
}
